type DropChar<S, C> = S extends `${infer F}${infer Rest}`
  ? C extends F
    ? DropChar<Rest, C>
    : `${F}${DropChar<Rest, C>}`
  : S;
